home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Magazin: Amiga-CD 1996 March
/
Amiga-CD 1996 #3.iso
/
amiga_technologies
/
include_i
/
rexx
/
rxslib.i
< prev
next >
Wrap
Text File
|
1996-01-19
|
6KB
|
209 lines
IFND REXX_RXSLIB_I
REXX_RXSLIB_I SET 1
**
** $VER: rxslib.i 1.15 (8.11.91)
** Includes Release 40.16
**
** Include file for the REXX Systems Library
**
** (C) Copyright 1986,1987,1988,1989,1990 William S. Hawes.
** (C) Copyright 1990-1995 ESCOM AG
** All Rights Reserved
**
IFND REXX_STORAGE_I
INCLUDE "rexx/storage.i"
ENDC
; Macro definitions
RXSLIBNAME MACRO
dc.b 'rexxsyslib.library',0
ENDM
RXSDIR MACRO ; public port name
dc.b 'REXX',0
ENDM
RXSTNAME MACRO ; name for tasks
dc.b 'ARexx',0
ENDM
; Structure definition for the REXX systems library
STRUCTURE RxsLib,LIB_SIZE ; EXEC library node
UBYTE rl_Flags ; global flags
UBYTE rl_Shadow ; shadow flags
APTR rl_SysBase ; EXEC library base
APTR rl_DOSBase ; DOS library base
APTR rl_IeeeDPBase ; IEEE DP math library base
LONG rl_SegList ; library seglist
LONG rl_NIL ; NIL: stream
LONG rl_Chunk ; allocation quantum
LONG rl_MaxNest ; maximum expression nesting
APTR rl_NULL ; static string: NULL
APTR rl_FALSE ; static string: FALSE
APTR rl_TRUE ; static string: TRUE
APTR rl_REXX ; static string: REXX
APTR rl_COMMAND ; static string: COMMAND
APTR rl_STDIN ; static string: STDIN
APTR rl_STDOUT ; static string: STDOUT
APTR rl_STDERR ; static string: STDERR
APTR rl_Version ; version string
APTR rl_TaskName ; name string for tasks
LONG rl_TaskPri ; starting priority
LONG rl_TaskSeg ; startup seglist
LONG rl_StackSize ; stack size
APTR rl_RexxDir ; REXX directory
APTR rl_CTABLE ; character attribute table
APTR rl_Notice ; copyright notice
STRUCT rl_RexxPort,MP_SIZE ; public port
UWORD rl_ReadLock ; lock count
APTR rl_TraceFH ; global trace console
STRUCT rl_TaskList,LH_SIZE ; REXX task list
WORD rl_NumTask
STRUCT rl_LibList,LH_SIZE ; Library List header
WORD rl_NumLib
STRUCT rl_ClipList,LH_SIZE ; ClipList header
WORD rl_NumClip
STRUCT rl_MsgList,LH_SIZE ; pending messages
WORD rl_NumMsg
STRUCT rl_PgmList,LH_SIZE ; cached programs
WORD rl_NumPgm ; cache count
UWORD rl_TraceCnt ; trace console usage count
WORD rl_avail
LABEL rl_SIZEOF
* Global flag bit definitions for RexxMaster
RLFB_TRACE EQU RTFB_TRACE ; interactive tracing?
RLFB_HALT EQU RTFB_HALT ; halt execution?
RLFB_SUSP EQU RTFB_SUSP ; suspend execution?
RLFB_STOP EQU 6 ; deny further invocations
RLFB_CLOSE EQU 7 ; close the master
* Mask for control flags
RLFMASK EQU 1<<RLFB_TRACE!1<<RLFB_HALT!1<<RLFB_SUSP
; Initialization constants
RXSCHUNK EQU 1024 ; allocation quantum
RXSNEST EQU 32 ; expression nesting limit
RXSTPRI EQU 0 ; task priority
RXSSTACK EQU 4096 ; stack size
; The library entry point offsets
LIBINIT
LIBDEF _LVORexx ; Main entry point
LIBDEF _LVOrxParse ; (private)
LIBDEF _LVOrxInstruct ; (private)
LIBDEF _LVOrxSuspend ; (private)
LIBDEF _LVOEvalOp ; (private)
LIBDEF _LVOAssignValue ; (private)
LIBDEF _LVOEnterSymbol ; (private)
LIBDEF _LVOFetchValue ; (private)
LIBDEF _LVOLookUpValue ; (private)
LIBDEF _LVOSetValue ; (private)
LIBDEF _LVOSymExpand ; (private)
LIBDEF _LVOErrorMsg
LIBDEF _LVOIsSymbol
LIBDEF _LVOCurrentEnv
LIBDEF _LVOGetSpace
LIBDEF _LVOFreeSpace
LIBDEF _LVOCreateArgstring
LIBDEF _LVODeleteArgstring
LIBDEF _LVOLengthArgstring
LIBDEF _LVOCreateRexxMsg
LIBDEF _LVODeleteRexxMsg
LIBDEF _LVOClearRexxMsg
LIBDEF _LVOFillRexxMsg
LIBDEF _LVOIsRexxMsg
LIBDEF _LVOAddRsrcNode
LIBDEF _LVOFindRsrcNode
LIBDEF _LVORemRsrcList
LIBDEF _LVORemRsrcNode
LIBDEF _LVOOpenPublicPort
LIBDEF _LVOClosePublicPort
LIBDEF _LVOListNames
LIBDEF _LVOClearMem
LIBDEF _LVOInitList
LIBDEF _LVOInitPort
LIBDEF _LVOFreePort
LIBDEF _LVOCmpString
LIBDEF _LVOStcToken
LIBDEF _LVOStrcmpN
LIBDEF _LVOStrcmpU
LIBDEF _LVOStrcpyA ; obsolete
LIBDEF _LVOStrcpyN
LIBDEF _LVOStrcpyU
LIBDEF _LVOStrflipN
LIBDEF _LVOStrlen
LIBDEF _LVOToUpper
LIBDEF _LVOCVa2i
LIBDEF _LVOCVi2a
LIBDEF _LVOCVi2arg
LIBDEF _LVOCVi2az
LIBDEF _LVOCVc2x
LIBDEF _LVOCVx2c
LIBDEF _LVOOpenF
LIBDEF _LVOCloseF
LIBDEF _LVOReadStr
LIBDEF _LVOReadF
LIBDEF _LVOWriteF
LIBDEF _LVOSeekF
LIBDEF _LVOQueueF
LIBDEF _LVOStackF
LIBDEF _LVOExistF
LIBDEF _LVODOSCommand
LIBDEF _LVODOSRead
LIBDEF _LVODOSWrite
LIBDEF _LVOCreateDOSPkt ; obsolete
LIBDEF _LVODeleteDOSPkt ; obsolete
LIBDEF _LVOSendDOSPkt ; (private)
LIBDEF _LVOWaitDOSPkt ; (private)
LIBDEF _LVOFindDevice ; (private)
LIBDEF _LVOAddClipNode
LIBDEF _LVORemClipNode
LIBDEF _LVOLockRexxBase
LIBDEF _LVOUnlockRexxBase
LIBDEF _LVOCreateCLI ; (private)
LIBDEF _LVODeleteCLI ; (private)
LIBDEF _LVOCVs2i
* Character attribute flag bits used in REXX.
CTB_SPACE EQU 0 ; white space characters
CTB_DIGIT EQU 1 ; decimal digits 0-9
CTB_ALPHA EQU 2 ; alphabetic characters
CTB_REXXSYM EQU 3 ; REXX symbol characters
CTB_REXXOPR EQU 4 ; REXX operator characters
CTB_REXXSPC EQU 5 ; REXX special symbols
CTB_UPPER EQU 6 ; UPPERCASE alphabetic
CTB_LOWER EQU 7 ; lowercase alphabetic
* The flag form of the character attributes
CTF_SPACE EQU 1<<CTB_SPACE
CTF_DIGIT EQU 1<<CTB_DIGIT
CTF_ALPHA EQU 1<<CTB_ALPHA
CTF_REXXSYM EQU 1<<CTB_REXXSYM
CTF_REXXOPR EQU 1<<CTB_REXXOPR
CTF_REXXSPC EQU 1<<CTB_REXXSPC
CTF_UPPER EQU 1<<CTB_UPPER
CTF_LOWER EQU 1<<CTB_LOWER
ENDC